package thread;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: wx
 * Date: 2023-12-05
 * Time: 19:43
 */

//继承Thread,重写run.但是使用 匿名内部类
                           //内部类,在一个类里边定义的类,没有名字,不能重复使用.用一次,就丢掉

public class ThreadDemo3 {
    public static void main(String[] args) {
        //匿名内部类的写法,{ }定义一个类,与此同时这个新的类,继承自Thread,
        // 此处{ }中可以定义子类的属性和方法,此处最主要的目的是为了重写 run 方法
        Thread t = new Thread() {
            //t指向的实例,并非是单纯的 Thread ,而是Thread的子类
            //与此同时,也创建了子类的实例
            //(不知道子类叫什么,他是匿名的)

            @Override
            public void run() {
                while (true) {
                    System.out.println("hello thread");
                    try {
                        Thread.sleep(2000);
                    } catch (InterruptedException e) {
                        throw new RuntimeException(e);
                    }
                }
            }
        };
        t.start();
        while (true) {
            System.out.println("hello main");
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                throw new RuntimeException(e);
            }
        }
    }
}
